অ্যাপাচি নিফাই (Apache NiFi) একটি শক্তিশালী ডেটা ফ্লো ব্যবস্থাপনা প্ল্যাটফর্ম, যা ডেটা সংগ্রহ, প্রক্রিয়া এবং স্থানান্তর করার জন্য ব্যবহৃত হয়। NiFi বিভিন্ন প্রকারের ডেটা উৎস থেকে ডেটা সংগ্রহ করতে সক্ষম এবং তার মধ্যে একটি প্রধান উৎস হল ডেটাবেস। এই উদ্দেশ্যে NiFi-তে দুটি গুরুত্বপূর্ণ প্রোসেসর রয়েছে: QueryDatabaseTable এবং ExecuteSQL। এই দুটি প্রোসেসর ব্যবহার করে আপনি ডেটাবেস থেকে ডেটা সংগ্রহ এবং প্রক্রিয়া করতে পারেন।
QueryDatabaseTable প্রোসেসরটি একটি ডেটাবেস থেকে একটি টেবিলের সমস্ত বা নির্বাচিত ডেটা সংগ্রহ করতে ব্যবহৃত হয়। এটি মূলত একটি SELECT কুয়েরি চালায় যা টেবিলের নির্দিষ্ট রেকর্ডগুলো ডেটাবেস থেকে ফেচ করে নেয়।
এটি সাধারণত যখন আপনি একটি নির্দিষ্ট টেবিলের সমস্ত বা কিছু ডেটা বের করতে চান তখন ব্যবহার করা হয়। এই প্রোসেসরটি ডেটাবেসের কনফিগারেশনের জন্য Database Connection Pooling Service ব্যবহার করে, যা ডেটাবেসের সাথে সংযোগ স্থাপন করতে সহায়ক।
ধরা যাক, একটি ডেটাবেস টেবিলের সমস্ত রেকর্ড সংগ্রহ করতে চান:
customers
Query: আপনি যদি নির্দিষ্ট শর্তে ডেটা চান, তবে SQL কুয়েরি ব্যবহার করতে পারেন, যেমন:
SELECT * FROM customers WHERE status = 'active'
এই কনফিগারেশনটি ডেটাবেস থেকে অ্যাকটিভ কাস্টমারদের তথ্য সংগ্রহ করবে।
ExecuteSQL প্রোসেসরটি একটি SQL কুয়েরি (যেমন SELECT, INSERT, UPDATE, DELETE) চালানোর জন্য ব্যবহৃত হয়। এটি সাধারণত একাধিক রেকর্ড পেতে, বা ডেটাবেসে কোনো পরিবর্তন (INSERT, UPDATE, DELETE) করতে ব্যবহৃত হয়।
এটি মূলত SQL কুয়েরি চালাতে ব্যবহৃত হয়, যেখানে আপনি একটি নির্দিষ্ট কুয়েরি লিখে ডেটাবেসে কার্যক্রম সম্পাদন করতে পারেন। এই প্রোসেসরটি ডেটাবেস থেকে ডেটা পুনরুদ্ধার করতে এবং তার সাথে ডেটা প্রক্রিয়া করতে সহায়ক।
SQL Query: এখানে আপনি আপনার SQL কুয়েরি লিখবেন। উদাহরণস্বরূপ, একটি SELECT কুয়েরি:
SELECT id, name, address FROM customers WHERE status = 'active'
অথবা ডেটাবেসে ইনসার্ট বা আপডেট করতে হলে সংশ্লিষ্ট কুয়েরি লিখুন।
আপনি যদি একটি নির্দিষ্ট টেবিলের রেকর্ড সংগ্রহ করতে চান:
SQL Query:
SELECT * FROM customers WHERE signup_date > '2023-01-01'
এই কুয়েরিটি সকল গ্রাহককে নির্বাচন করবে যাদের সাইনআপের তারিখ ২০২৩ সালের জানুয়ারি ১ তারিখের পর।
বৈশিষ্ট্য | QueryDatabaseTable | ExecuteSQL |
---|---|---|
কাজের ধরন | টেবিল থেকে ডেটা ফেচ করা, সাধারণত SELECT কুয়েরি | সাধারণ SQL কুয়েরি যেমন SELECT, INSERT, UPDATE চালানো |
প্রতিক্রিয়া | এক বা একাধিক রেকর্ডের জন্য FlowFile তৈরি হয় | একাধিক রেকর্ড পেতে বা কোনো পরিবর্তন করতে ব্যবহৃত হয় |
প্রতিটি FlowFile এর মধ্যে | একটি টেবিলের একাধিক রেকর্ড থাকতে পারে | নির্দিষ্ট SQL কুয়েরির ফলাফল FlowFile এর মধ্যে থাকে |
প্রক্রিয়া | সাধারণত ডেটা সংগ্রহের জন্য ব্যবহৃত | SQL কুয়েরি চালানোর জন্য ব্যবহৃত |
যেহেতু QueryDatabaseTable এবং ExecuteSQL দুটি প্রোসেসর SQL কুয়েরি চালানোর জন্য ব্যবহৃত হয়, সুতরাং আপনি তাদের সমন্বয়ে ডেটাবেস থেকে ডেটা সংগ্রহ করতে পারেন। উদাহরণস্বরূপ, QueryDatabaseTable ব্যবহার করে আপনি ডেটা সংগ্রহ করতে পারেন এবং তারপরে ExecuteSQL ব্যবহার করে ডেটাবেসে কোনো পরিবর্তন করতে পারেন বা ডেটা প্রক্রিয়া করতে পারেন।
অ্যাপাচি নিফাই-তে QueryDatabaseTable এবং ExecuteSQL দুটি গুরুত্বপূর্ণ প্রোসেসর ডেটাবেস থেকে ডেটা সংগ্রহ এবং প্রক্রিয়া করতে ব্যবহৃত হয়। QueryDatabaseTable টেবিল থেকে নির্দিষ্ট ডেটা সংগ্রহ করতে ব্যবহৃত হয়, এবং ExecuteSQL SQL কুয়েরি চালানোর জন্য ব্যবহৃত হয় যা ডেটাবেসে পরিবর্তন বা ডেটা সংগ্রহ করতে সহায়ক। এই দুটি প্রোসেসরের সাহায্যে NiFi ডেটাবেস থেকে ডেটা সংগ্রহ এবং প্রক্রিয়া করা সহজ ও কার্যকরী হয়।
common.read_more